// 店铺模型
const { Store } = require('../../../models/store');
// 统一数据返回类
const { DataReturn } = require('../../../common/returnclass');

/**
 * @api {Get} /stores 查询店铺
 * @apiGroup Admin-Stores
 *
 * @apiParam {String} [query] 搜索字段：店铺名称(非必填)
 * @apiParam {Number} pagenum 数量
 * @apiParam {Number} pagesize 页数
 * 
 * @apiSuccess {ObjectId} _id 店铺id
 * @apiSuccess {ObjectId} store_goods  店铺商品
 * @apiSuccess {String} store_name  店铺名称
 * @apiSuccess {String} store_intro  店铺简介
 * @apiSuccess {Array} store_banner  店铺宣传照
 * @apiSuccess {ObjectId} store_cate  店铺商品分类
 * @apiSuccess {ObjectId} store_belong  店铺所属用户
 * @apiSuccess {Array} address  店铺地址
 * @apiSuccess {String} phone  联系电话
 * @apiSuccess {Array} send_address  发货地址
 * @apiSuccess {String} add_time  添加时间
 * @apiSuccess {Number} total  店铺数量
 */
module.exports = async (req, res) => {
	// 店铺名称
	let { query, pagenum, pagesize } = req.query;
	console.log(req.query)
	pagenum = parseInt(pagenum);
	pagesize = parseInt(pagesize);
	console.log(req.query, pagesize*(pagenum-1));
	
	let stores;
	if (query) {
		// 根据商品名称模糊查询
		stores = await Store.find({store_name: { $regex: query,$options:"$i" }}).skip(pagesize*(pagenum-1)).limit(pagesize);
	} else {
		// 查询所有商品信息
		stores = await Store.find().skip(pagesize*(pagenum-1)).limit(pagesize);
	}
	
	if (!stores) return DataReturn.getData(res, 200, goods, '暂无店铺数据');
	// 响应
	DataReturn.getData(res, 200, { data:stores, total: await Store.find({store_name: { $regex: query,$options:"$i" }}).countDocuments() }, '查询店铺列表成功')
	

}
